
package br.com.fieo.sgee.util;

import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;

/**
 * Classe utilizada para controlar as sessões abertas com o banco de dados
 *
 * @author rbueno
 */
public class HibernateUtil {

    /**
     * fabrica de sessões do hibernate
     */
    private static SessionFactory factory;

    /**
     * Criamos uma fabrica de sessões sempre que a classe é chamada
     */
    static {
        factory = new AnnotationConfiguration().configure().buildSessionFactory();
    }

    /**
     * Obtem uma nova sessão
     * @return retorna uma sessão aberta com o banco de dados
     */
    public static Session getSession() {
        return factory.openSession();
    }

}
